Page({

  /**
   * 页面的初始数据
   */
  data: {
    timestamp: Date.now(),
    list: [],
    timer: undefined
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.getList()
  },
  async getList() {
    // 自带的请求（回调地狱）
    // wx.request({
    //   url: 'http://toutiao.itheima.net/v1_0/articles',
    //   data: {
    //     timestamp: Date.now(),
    //     channel_id: 0,
    //     with_top: 1
    //   },
    //   success: (res) => {
    //     console.log(res)
    //     this.setData({
    //       list: res.data.data.results
    //     })
    //   }
    // })

    // 方式2:官方库
    /*
    let res = await wx.p.request({
      url: 'http://toutiao.itheima.net/v1_0/articles',
      data: {
        timestamp: Date.now(),
        channel_id: 0,
        with_top: 1
      }
    })
    console.log(res)
    */
    return new Promise((resolve, reject) => {


      //防抖
      if (this.data.timer) {
        clearTimeout(this.data.timer)
      }
      // 提示加载中
      wx.showLoading({
        title: '加载中...',
      })
      let timer = setTimeout(async () => {
        // 方式3:通过第三方请求库
        let res = await wx.$http.get('/v1_0/articles', {
          timestamp: this.data.timestamp,
          channel_id: 0,
          with_top: 1
        })
        console.log(res)
        this.setData({
          timestamp: res.data.data.pre_timestamp,
          list: [...this.data.list, ...res.data.data.results]
        })
        resolve()
        wx.hideLoading()
      }, 500)
      this.setData(timer)
    })
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: async function () {
    this.setData({
      timestamp: Date.now(),
      list: [],
      timer: undefined
    })
    await this.getList()
    wx.stopPullDownRefresh()
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    // 获取下一页的数据
    this.getList()
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})